package com.yunji.coupon.doamin;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.yunji.common.base.BaseDelFlagDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author : peter-zhu
 * @date : 2024/10/19 14:38
 * @description : TODO
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName(value = "tt_cp_coupon_tmpl", autoResultMap = true)
public class CouponTmplDO extends BaseDelFlagDO {
    @TableId(type = IdType.AUTO)
    private Long couponTmplId;
    private String couponName;
    private Integer issueCount;
    private Integer receivedCount;
    private Integer receiveRuleType;
    private Integer everyReceiveCount;
    private Integer usedCount;
    private Integer couponType;
    private boolean recallFlag;
    private Date receiveTimeS;
    private Date receiveTimeE;
    private Integer validTimeType;
    private Date validPeriodS;
    private Date validPeriodE;
    private Integer validDays;
    private Integer discountType;
    private BigDecimal discountValue;
    private Integer triggerType;
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<String> triggerDicList;
    private String explanation;
    private Integer siteScopeType;
}
